/*!
 * Pico.css v1.0.3  (https://picocss.com)
 * Copyright 2020 - Licensed under MIT
 */
/**
 * Theme: default
 */
 [data-theme="light"],
 :root:not([data-theme="dark"]) {
   --background:        #FFF;
   --text:              #415462;
   --h1:                #1b2832;
   --h2:                #2c3d49;
   --h3:                #415462;
   --h4:                #596b78;
   --h5:                #73828c;
   --h6:                #8a99a3;
   --primary:           #1095c1;
   --primary-hover:     #08769b;
   --primary-focus:     rgba(16, 149, 193, 0.125);
   --primary-inverse:   #FFF;
   --secondary:         #73828c;
   --secondary-hover:   #415462;
   --secondary-focus:   rgba(115, 130, 140, 0.125);
   --secondary-inverse: #FFF;
   --contrast:          #2c3d49;
   --contrast-hover:    #0d1419;
   --contrast-focus:    rgba(115, 130, 140, 0.125);
   --contrast-border:   rgba(255, 223, 128, 0.5);
   --contrast-inverse:  #FFF;
   --input-background:  #FFF;
   --input-border:      #c8d1d8;
   --valid:             #288a6a;
   --invalid:           #b94646;
   --mark:              rgba(255, 223, 128, 0.5);
   --mark-text:         #2c3d49;
   --muted-text:        #7e8d98;
   --muted-background:  #edf0f3;
   --muted-border:      #edf0f3;
   --card-background:   #FFF;
   --card-sections:     #f3f5f7;
   --card-shadow:       0 0.125rem 1rem rgba(27, 40, 50, 0.04), 0 0.125rem 2rem rgba(27, 40, 50, 0.08), 0 0 0 0.0625rem rgba(27, 40, 50, 0.024);
   --code-background:   #f3f5f7;
   --code-inlined:      #edf0f3;
   --code-color-1:      #73828c;
   --code-color-2:      #b34d80;
   --code-color-3:      #3d888f;
   --code-color-4:      #998866;
   --code-color-5:      #96a4ae;
   --table-border:      rgba(237, 240, 243, 0.75);
   --table-stripping:   rgba(115, 130, 140, 0.04); }
 
 @media only screen and (prefers-color-scheme: dark) {
   :root:not([data-theme="light"]) {
     --background:        #10181e;
     --text:              #a2afb9;
     --h1:                #edf0f3;
     --h2:                #d5dce2;
     --h3:                #bbc6ce;
     --h4:                #a2afb9;
     --h5:                #8a99a3;
     --h6:                #73828c;
     --primary:           #1095c1;
     --primary-hover:     #1ab3e6;
     --primary-focus:     rgba(16, 149, 193, 0.25);
     --primary-inverse:   #FFF;
     --secondary:         #596b78;
     --secondary-hover:   #73828c;
     --secondary-focus:   rgba(89, 107, 120, 0.25);
     --secondary-inverse: #FFF;
     --contrast:          #d5dce2;
     --contrast-hover:    #FFF;
     --contrast-focus:    rgba(89, 107, 120, 0.25);
     --contrast-border:   rgba(255, 223, 128, 0.33);
     --contrast-inverse:  #10181e;
     --input-background:  #10181e;
     --input-border:      #374956;
     --valid:             #1f7a5c;
     --invalid:           #943838;
     --mark:              rgba(255, 223, 128, 0.5);
     --mark-text:         #FFF;
     --muted-text:        #73828c;
     --muted-background:  #10181e;
     --muted-border:      #23333e;
     --card-background:   #17232b;
     --card-sections:     #141d24;
     --card-shadow:       0 0.125rem 1rem rgba(0, 0, 0, 0.08), 0 0.125rem 2rem rgba(0, 0, 0, 0.04), 0 0 0 0.0625rem rgba(0, 0, 0, 0.1);
     --code-background:   #141d24;
     --code-inlined:      rgba(65, 84, 98, 0.25);
     --code-color-1:      #73828c;
     --code-color-2:      #a65980;
     --code-color-3:      #599fa6;
     --code-color-4:      #8c8473;
     --code-color-5:      #4d606d;
     --table-border:      #10181e;
     --table-stripping:   rgba(115, 130, 140, 0.02); } }
 
 [data-theme="dark"] {
   --background:        #10181e;
   --text:              #a2afb9;
   --h1:                #edf0f3;
   --h2:                #d5dce2;
   --h3:                #bbc6ce;
   --h4:                #a2afb9;
   --h5:                #8a99a3;
   --h6:                #73828c;
   --primary:           #1095c1;
   --primary-hover:     #1ab3e6;
   --primary-focus:     rgba(16, 149, 193, 0.25);
   --primary-inverse:   #FFF;
   --secondary:         #596b78;
   --secondary-hover:   #73828c;
   --secondary-focus:   rgba(89, 107, 120, 0.25);
   --secondary-inverse: #FFF;
   --contrast:          #d5dce2;
   --contrast-hover:    #FFF;
   --contrast-focus:    rgba(89, 107, 120, 0.25);
   --contrast-border:   rgba(255, 223, 128, 0.33);
   --contrast-inverse:  #10181e;
   --input-background:  #10181e;
   --input-border:      #374956;
   --valid:             #1f7a5c;
   --invalid:           #943838;
   --mark:              rgba(255, 223, 128, 0.5);
   --mark-text:         #FFF;
   --muted-text:        #73828c;
   --muted-background:  #10181e;
   --muted-border:      #23333e;
   --card-background:   #17232b;
   --card-sections:     #141d24;
   --card-shadow:       0 0.125rem 1rem rgba(0, 0, 0, 0.08), 0 0.125rem 2rem rgba(0, 0, 0, 0.04), 0 0 0 0.0625rem rgba(0, 0, 0, 0.1);
   --code-background:   #141d24;
   --code-inlined:      rgba(65, 84, 98, 0.25);
   --code-color-1:      #73828c;
   --code-color-2:      #a65980;
   --code-color-3:      #599fa6;
   --code-color-4:      #8c8473;
   --code-color-5:      #4d606d;
   --table-border:      #10181e;
   --table-stripping:   rgba(115, 130, 140, 0.02); }
 
 /**
  * Document
  * Content-box & Responsive typography
  */
 *,
 *::before,
 *::after {
   box-sizing: border-box; }
 
 html {
   -webkit-text-size-adjust: 100%;
   -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
   background: var(--background);
   color: var(--text);
   font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
   font-size: 16px;
   font-weight: 400;
   line-height: 1.5;
   text-rendering: optimizeLegibility; }
   @media (min-width: 576px) {
     html {
       font-size: 17px; } }
   @media (min-width: 768px) {
     html {
       font-size: 18px; } }
   @media (min-width: 992px) {
     html {
       font-size: 19px; } }
   @media (min-width: 1200px) {
     html {
       font-size: 20px; } }
 
 /**
  * Sectioning
  * Container and responsive spacings for header, main, footer
  */
 main {
   display: block; }
 
 body {
   width: 100%;
   margin: 0; }
   body > header,
   body > main,
   body > footer {
     width: 100%;
     margin-right: auto;
     margin-left: auto;
     padding: 1rem 0; }
 
 /**
  * Container
  */
 .container,
 .container-fluid {
   width: 100%;
   margin-right: auto;
   margin-left: auto;
   padding-right: 1rem;
   padding-left: 1rem; }
 
 @media (min-width: 576px) {
   .container {
     padding-right: 0;
     padding-left: 0;
     max-width: 510px; } }
 
 @media (min-width: 768px) {
   .container {
     max-width: 700px; } }
 
 @media (min-width: 992px) {
   .container {
     max-width: 920px; } }
 
 @media (min-width: 1200px) {
   .container {
     max-width: 1130px; } }
 
 /**
  * Section
  * Responsive spacings for section
  */
 section {
   margin-bottom: 2rem; }
 
 /**
  * Grid
  * Minimal grid system with auto-layout columns
  */
 .grid {
   grid-column-gap: 1rem;
   grid-row-gap: 1rem;
   display: grid;
   grid-template-columns: 1fr;
   margin: 0; }
   @media (min-width: 992px) {
     .grid {
       grid-template-columns: repeat(auto-fit, minmax(0%, 1fr)); } }
   .grid > * {
     min-width: 0; }
 
 /**
  * Horizontal scroller (<figure>)
  */
 figure {
   display: block;
   margin: 0;
   padding: 0;
   overflow-x: auto; }
   figure figcaption {
     padding: 0.5rem 0;
     color: var(--muted-text); }
 
 /**
  * Typography
  */
 b,
 strong {
   font-weight: bolder; }
 
 sub,
 sup {
   position: relative;
   font-size: .75rem;
   line-height: 0;
   vertical-align: baseline; }
 
 sub {
   bottom: -0.25rem; }
 
 sup {
   top: -0.5rem; }
 
 img {
   max-width: 100%;
   height: auto;
   border-style: none; }
 
 svg,
 img {
   vertical-align: text-bottom; }
 
 address,
 blockquote,
 dl,
 figure,
 form,
 ol,
 p,
 pre,
 table,
 ul {
   margin-top: 0;
   margin-bottom: 1.5rem;
   color: var(--text);
   font-size: 1rem;
   font-style: normal; }
 
 a {
   background-color: transparent;
   color: var(--primary);
   text-decoration: none;
   transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, text-decoration 0.2s ease-in-out, box-shadow 0.2s ease-in-out; }
   a:hover, a:active, a:focus {
     color: var(--primary-hover);
     text-decoration: underline; }
   a:focus {
     outline: none;
     background-color: var(--primary-focus); }
 
 a.secondary {
   color: var(--secondary); }
   a.secondary:hover, a.secondary:active, a.secondary:focus {
     color: var(--secondary-hover); }
   a.secondary:focus {
     background-color: var(--secondary-focus); }
 
 a.contrast:not([role="button"]) {
   box-shadow: inset 0 -0.33rem 0 var(--contrast-border);
   color: var(--contrast); }
   a.contrast:not([role="button"]):hover, a.contrast:not([role="button"]):active, a.contrast:not([role="button"]):focus {
     color: var(--contrast-hover); }
   a.contrast:not([role="button"]):focus {
     background-color: var(--contrast-focus); }
 
 h1,
 h2,
 h3,
 h4,
 h5,
 h6 {
   margin-top: 0;
   margin-bottom: 1.5rem;
   font-weight: 700; }
 
 h1 {
   margin-bottom: 3rem;
   color: var(--h1);
   font-size: 2rem; }
 
 h2 {
   margin-bottom: 2.625rem;
   color: var(--h2);
   font-size: 1.75rem; }
 
 h3 {
   margin-bottom: 2.25rem;
   color: var(--h3);
   font-size: 1.5rem; }
 
 h4 {
   margin-bottom: 1.875rem;
   color: var(--h4);
   font-size: 1.25rem; }
 
 h5 {
   margin-bottom: 1.6875rem;
   color: var(--h5);
   font-size: 1.125rem; }
 
 h6 {
   color: var(--h6);
   font-size: 1rem; }
 
 hgroup {
   margin-bottom: 1.5rem; }
   hgroup * {
     margin-bottom: 0; }
   hgroup > *:last-child {
     color: var(--muted-text);
     font-size: 1.125rem;
     font-weight: normal; }
 
 p {
   margin-bottom: 0.75rem; }
 
 small {
   font-size: 85%; }
   @media (min-width: 576px) {
     small {
       font-size: 83%; } }
   @media (min-width: 768px) {
     small {
       font-size: 81%; } }
   @media (min-width: 992px) {
     small {
       font-size: 79%; } }
   @media (min-width: 1200px) {
     small {
       font-size: 77%; } }
 
 ul,
 ol {
   padding-left: 1.5rem; }
   ul li,
   ol li {
     margin-bottom: 0.75rem; }
 
 ul li {
   list-style: square; }
 
 mark {
   padding: .125rem .25rem;
   background: var(--mark);
   color: var(--mark-text);
   vertical-align: middle; }
 
 blockquote {
   display: block;
   margin: 3rem 0;
   padding: 1rem;
   border-left: 0.25rem solid var(--muted-border); }
   blockquote footer {
     margin-top: 0.75rem;
     color: var(--muted-text); }
 
 abbr[title] {
   border-bottom: 1px dotted;
   text-decoration: none;
   cursor: help; }
 
 ins {
   color: var(--valid);
   text-decoration: none; }
 
 del {
   color: var(--invalid); }
 
 ::selection {
   background-color: var(--primary-focus); }
 
 /**
  * Form elements
  */
 input,
 optgroup,
 select,
 textarea {
   margin: 0;
   font-family: inherit;
   font-size: 1rem;
   line-height: 1.5; }
 
 input {
   overflow: visible; }
 
 select {
   text-transform: none; }
 
 legend {
   display: table;
   max-width: 100%;
   padding: 0;
   color: inherit;
   white-space: normal; }
 
 textarea {
   overflow: auto; }
 
 [type="checkbox"],
 [type="radio"] {
   padding: 0; }
 
 [type="number"]::-webkit-inner-spin-button {
   height: auto; }
 
 [type="search"] {
   -webkit-appearance: textfield;
   outline-offset: -2px; }
 
 [type="search"]::-webkit-search-decoration {
   -webkit-appearance: none; }
 
 ::-webkit-file-upload-button {
   -webkit-appearance: button;
   font: inherit; }
 
 fieldset {
   margin: 0;
   margin-bottom: 1.5rem;
   padding: 0;
   border: 0; }
 
 input:not([type="checkbox"]):not([type="radio"]),
 select,
 textarea,
 form small {
   display: block;
   width: 100%; }
 
 label,
 fieldset legend {
   display: block;
   margin-bottom: 0.125rem;
   vertical-align: middle; }
 
 input,
 select,
 textarea {
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   border: 1px solid var(--input-border);
   border-radius: 0.25rem;
   outline: none;
   background-color: var(--input-background);
   color: var(--text);
   font-weight: normal;
   vertical-align: middle;
   transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out; }
   input::placeholder,
   select::placeholder,
   textarea::placeholder {
     color: var(--muted-text);
     opacity: 1; }
   input:active, input:focus,
   select:active,
   select:focus,
   textarea:active,
   textarea:focus {
     border-color: var(--primary); }
   input:focus,
   select:focus,
   textarea:focus {
     box-shadow: 0 0 0 0.2rem var(--primary-focus); }
   input[readonly], input[disabled],
   select[readonly],
   select[disabled],
   textarea[readonly],
   textarea[disabled] {
     border-color: var(--muted-border);
     box-shadow: none; }
     input[readonly] ~ label, input[disabled] ~ label,
     select[readonly] ~ label,
     select[disabled] ~ label,
     textarea[readonly] ~ label,
     textarea[disabled] ~ label {
       color: var(--muted-text); }
   input[disabled],
   select[disabled],
   textarea[disabled] {
     background-color: var(--muted-background);
     opacity: .5; }
 
 input:not([type="checkbox"]):not([type="radio"]),
 select,
 textarea {
   margin-bottom: 1.5rem;
   padding: 0.75rem 1rem; }
   input:not([type="checkbox"]):not([type="radio"]).valid, input:not([type="checkbox"]):not([type="radio"]).invalid,
   select.valid,
   select.invalid,
   textarea.valid,
   textarea.invalid {
     padding-right: 2rem;
     background-position: center right .75rem;
     background-repeat: no-repeat;
     background-size: 1rem auto; }
   input:not([type="checkbox"]):not([type="radio"]).valid,
   select.valid,
   textarea.valid {
     border-bottom: 1px solid var(--valid);
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23288a6a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); }
   input:not([type="checkbox"]):not([type="radio"]).invalid,
   select.invalid,
   textarea.invalid {
     border-bottom: 1px solid var(--invalid);
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23b94646' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); }
 
 input[type="color"] {
   height: calc(3rem + 2px); }
 
 select::-ms-expand {
   border: 0;
   background-color: transparent; }
 
 select:not([multiple]) {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
   background-position: center right .75rem;
   background-repeat: no-repeat;
   background-size: 1rem auto; }
 
 form small {
   color: var(--muted-text); }
 
 input + small {
   margin-top: -1rem;
   margin-bottom: 1.5rem; }
 
 label > input:not([type="checkbox"]):not([type="radio"]),
 label > select,
 label > textarea {
   margin-top: 0.125rem; }
 
 /**
  * Form elements
  */
 [type="checkbox"],
 [type="radio"] {
   display: inline-block;
   width: 1em;
   height: 1em;
   margin-right: .375rem;
   margin-bottom: 0.125rem;
   border-width: 2px;
   font-size: 1.125rem;
   vertical-align: middle;
   cursor: pointer;
   transition: none; }
   [type="checkbox"]::-ms-check,
   [type="radio"]::-ms-check {
     display: none; }
   [type="checkbox"]:checked,
   [type="radio"]:checked {
     border-color: var(--primary);
     background-color: var(--primary);
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
     background-position: center;
     background-repeat: no-repeat;
     background-size: .66rem auto; }
   [type="checkbox"] ~ label,
   [type="radio"] ~ label {
     display: inline-block;
     margin-right: .375rem;
     margin-bottom: 0;
     cursor: pointer; }
 
 [type="radio"] {
   border-radius: 50%; }
   [type="radio"]:checked {
     border-width: .33rem;
     border-color: var(--primary);
     background-color: var(--primary-inverse);
     background-image: none; }
 
 [type="checkbox"][role="switch"] {
   width: 1.85em;
   height: 1em;
   border: 2px solid var(--input-border);
   border-radius: 1em;
   background-color: var(--input-border);
   line-height: 1em; }
   [type="checkbox"][role="switch"]:before {
     display: block;
     width: calc(1em - 4px);
     height: 100%;
     border-radius: 50%;
     background-color: var(--primary-inverse);
     content: '';
     transition: margin 0.1s ease-in-out; }
   [type="checkbox"][role="switch"]:checked {
     border-color: var(--primary);
     background-color: var(--primary);
     background-image: none; }
     [type="checkbox"][role="switch"]:checked::before {
       margin-right: 0;
       margin-left: calc(0.925em - 2px); }
 
 /**
  * Button
  */
 button {
   margin: 0;
   overflow: visible;
   font-family: inherit;
   text-transform: none; }
 
 button,
 [type="button"],
 [type="reset"],
 [type="submit"] {
   -webkit-appearance: button; }
 
 button::-moz-focus-inner,
 [type="button"]::-moz-focus-inner,
 [type="reset"]::-moz-focus-inner,
 [type="submit"]::-moz-focus-inner {
   padding: 0;
   border-style: none; }
 
 button {
   display: block;
   width: 100%;
   margin-bottom: 1.5rem; }
 
 a[role="button"] {
   display: inline-block;
   text-decoration: none; }
 
 button,
 input[type="submit"],
 a[role="button"] {
   border: 1px solid transparent;
   padding: 0.75rem 1rem;
   border-radius: 0.25rem;
   outline: none;
   background-color: var(--primary);
   color: var(--primary-inverse);
   font-size: 1rem;
   font-weight: normal;
   line-height: 1.5;
   text-align: center;
   cursor: pointer;
   transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out; }
   button:hover, button:active, button:focus,
   input[type="submit"]:hover,
   input[type="submit"]:active,
   input[type="submit"]:focus,
   a[role="button"]:hover,
   a[role="button"]:active,
   a[role="button"]:focus {
     background-color: var(--primary-hover); }
   button:focus,
   input[type="submit"]:focus,
   a[role="button"]:focus {
     box-shadow: 0 0 0 0.2rem var(--primary-focus); }
 
 input[type="reset"] {
   cursor: pointer; }
 
 button[disabled],
 input[type="submit"][disabled],
 input[type="reset"][disabled],
 a[role="button"][disabled] {
   opacity: .5;
   pointer-events: none; }
 
 /**
  * Button Styles
  */
 button.secondary,
 input.secondary[type="submit"],
 input[type="reset"],
 a.secondary[role="button"] {
   background-color: var(--secondary);
   color: var(--secondary-inverse); }
   button.secondary:hover, button.secondary:active, button.secondary:focus,
   input.secondary[type="submit"]:hover,
   input.secondary[type="submit"]:active,
   input.secondary[type="submit"]:focus,
   input[type="reset"]:hover,
   input[type="reset"]:active,
   input[type="reset"]:focus,
   a.secondary[role="button"]:hover,
   a.secondary[role="button"]:active,
   a.secondary[role="button"]:focus {
     background-color: var(--secondary-hover); }
   button.secondary:focus,
   input.secondary[type="submit"]:focus,
   input[type="reset"]:focus,
   a.secondary[role="button"]:focus {
     box-shadow: 0 0 0 0.2rem var(--secondary-focus); }
 
 button.contrast,
 input.contrast[type="submit"],
 input.contrast[type="reset"],
 a.contrast[role="button"] {
   background-color: var(--contrast);
   color: var(--contrast-inverse); }
   button.contrast:hover, button.contrast:active, button.contrast:focus,
   input.contrast[type="submit"]:hover,
   input.contrast[type="submit"]:active,
   input.contrast[type="submit"]:focus,
   input.contrast[type="reset"]:hover,
   input.contrast[type="reset"]:active,
   input.contrast[type="reset"]:focus,
   a.contrast[role="button"]:hover,
   a.contrast[role="button"]:active,
   a.contrast[role="button"]:focus {
     background-color: var(--contrast-hover); }
   button.contrast:focus,
   input.contrast[type="submit"]:focus,
   input.contrast[type="reset"]:focus,
   a.contrast[role="button"]:focus {
     box-shadow: 0 0 0 0.2rem var(--contrast-focus); }
 
 button.outline,
 input.outline[type="submit"],
 a.outline[role="button"] {
   border: 1px solid var(--primary);
   background-color: transparent;
   color: var(--primary); }
   button.outline:hover, button.outline:active, button.outline:focus,
   input.outline[type="submit"]:hover,
   input.outline[type="submit"]:active,
   input.outline[type="submit"]:focus,
   a.outline[role="button"]:hover,
   a.outline[role="button"]:active,
   a.outline[role="button"]:focus {
     border: 1px solid var(--primary-hover);
     color: var(--primary-hover); }
 
 button.outline.secondary,
 input.outline.secondary[type="submit"],
 input.outline[type="reset"],
 a.outline.secondary[role="button"] {
   border: 1px solid var(--secondary);
   background-color: transparent;
   color: var(--secondary); }
   button.outline.secondary:hover, button.outline.secondary:active, button.outline.secondary:focus,
   input.outline.secondary[type="submit"]:hover,
   input.outline.secondary[type="submit"]:active,
   input.outline.secondary[type="submit"]:focus,
   input.outline[type="reset"]:hover,
   input.outline[type="reset"]:active,
   input.outline[type="reset"]:focus,
   a.outline.secondary[role="button"]:hover,
   a.outline.secondary[role="button"]:active,
   a.outline.secondary[role="button"]:focus {
     border: 1px solid var(--secondary-hover);
     color: var(--secondary-hover); }
   button.outline.secondary:focus,
   input.outline.secondary[type="submit"]:focus,
   input.outline[type="reset"]:focus,
   a.outline.secondary[role="button"]:focus {
     box-shadow: 0 0 0 0.2rem var(--secondary-focus); }
 
 button.outline.contrast,
 input.outline.contrast[type="submit"],
 input.outline.contrast[type="reset"],
 a.outline.contrast[role="button"] {
   border: 1px solid var(--contrast);
   background-color: transparent;
   color: var(--contrast); }
   button.outline.contrast:hover, button.outline.contrast:active, button.outline.contrast:focus,
   input.outline.contrast[type="submit"]:hover,
   input.outline.contrast[type="submit"]:active,
   input.outline.contrast[type="submit"]:focus,
   input.outline.contrast[type="reset"]:hover,
   input.outline.contrast[type="reset"]:active,
   input.outline.contrast[type="reset"]:focus,
   a.outline.contrast[role="button"]:hover,
   a.outline.contrast[role="button"]:active,
   a.outline.contrast[role="button"]:focus {
     border: 1px solid var(--contrast-hover);
     color: var(--contrast-hover); }
   button.outline.contrast:focus,
   input.outline.contrast[type="submit"]:focus,
   input.outline.contrast[type="reset"]:focus,
   a.outline.contrast[role="button"]:focus {
     box-shadow: 0 0 0 0.2rem var(--contrast-focus); }
 
 /**
  * Table
  */
 table {
   width: 100%;
   border-spacing: 0; }
 
 th,
 td {
   padding: 0.5rem 1rem;
   border-bottom: 1px solid var(--table-border);
   color: var(--muted-text);
   font-weight: 400;
   text-align: left;
   font-size: 0.875rem; }
 
 th,
 thead td {
   color: var(--text);
   font-size: 1rem; }
 
 thead th,
 thead td {
   border-bottom: 3px solid var(--table-border); }
 
 tbody tr:nth-child(odd) {
   background-color: var(--table-stripping); }
 
 /**
  * Code
  */
 pre,
 code,
 kbd,
 samp {
   font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
   font-size: 1rem; }
 
 pre,
 code,
 kbd {
   background: var(--code-inlined);
   color: var(--code-color-1);
   font-size: 85%;
   font-weight: 400;
   line-height: 1; }
   @media (min-width: 576px) {
     pre,
     code,
     kbd {
       font-size: 83%; } }
   @media (min-width: 768px) {
     pre,
     code,
     kbd {
       font-size: 81%; } }
   @media (min-width: 992px) {
     pre,
     code,
     kbd {
       font-size: 79%; } }
   @media (min-width: 1200px) {
     pre,
     code,
     kbd {
       font-size: 77%; } }
 
 code,
 kbd {
   display: inline-block;
   padding: .375rem .5rem;
   border-radius: 0.25rem; }
 
 pre {
   display: block;
   margin-bottom: 1rem;
   padding: 1rem 1rem;
   overflow-x: auto;
   background: var(--code-background); }
   pre > code {
     display: block;
     padding: 0;
     background: transparent;
     font-size: 14px;
     line-height: 1.5; }
 
 code b {
   color: var(--code-color-2);
   font-weight: normal; }
 
 code i {
   color: var(--code-color-3);
   font-style: normal; }
 
 code u {
   color: var(--code-color-4);
   text-decoration: none; }
 
 code em {
   color: var(--code-color-5);
   font-style: normal; }
 
 kbd {
   background-color: var(--secondary);
   color: var(--secondary-inverse);
   font-weight: bolder; }
 
 /**
  * Miscs
  */
 hr {
   box-sizing: content-box;
   height: 0;
   overflow: visible;
   border: none;
   border-top: 1px solid var(--muted-border); }
 
 progress {
   vertical-align: baseline; }
 
 [hidden],
 template {
   display: none; }
 
 /**
  * Accordion (<details>)
  * Inspiration: https://codepen.io/koca/pen/RyeLLV
  */
 details {
   display: block;
   margin-bottom: 1.5rem;
   padding-bottom: 0.75rem;
   border-bottom: 1px solid var(--muted-border); }
   details summary {
     list-style-type: none;
     cursor: pointer;
     line-height: 1rem; }
     details summary::-webkit-details-marker {
       display: none; }
     details summary::marker {
       display: none; }
     details summary::-moz-list-bullet {
       list-style-type: none; }
     details summary::after {
       display: inline-block;
       width: 1rem;
       height: 1rem;
       float: right;
       transform: rotate(-90deg);
       background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
       background-position: center;
       background-repeat: no-repeat;
       background-size: 1rem auto;
       content: ''; }
     details summary:focus {
       outline: none; }
     details summary ~ * {
       margin-top: 0.75rem; }
       details summary ~ * ~ * {
         margin-top: 0; }
   details[open] summary {
     margin-bottom: 0.375rem;
     color: var(--muted-text); }
     details[open] summary::after {
       transform: rotate(0); }
 
 /**
  * Card (<article>)
  */
 article {
   margin: 1rem 0;
   padding: 1rem 1rem;
   overflow: hidden;
   border-radius: 0.25rem;
   background: var(--card-background);
   box-shadow: var(--card-shadow); }
   @media (min-width: 576px) {
     article {
       margin: 1rem 0;
       padding: 1rem; } }
   article > *:not(header):not(footer):not(pre):last-child {
     margin-bottom: 0; }
 
 /**
  * Card sectionning (<article> > header, footer, pre)
  */
 article > header,
 article > footer {
   background-color: var(--card-sections); }
 
 article > header,
 article > footer,
 article > pre {
   margin: -1rem;
   padding: 1rem 1rem; }
 
 article > header {
   margin-top: -2rem;
   margin-bottom: 1rem; }
 
 article > footer,
 article > pre {
   margin-top: 1rem;
   margin-bottom: -2rem; }
 
 /**
  * Nav
  */
 nav,
 nav ul {
   display: flex; }
 
 nav {
   justify-content: space-between; }
   nav ul {
     align-items: center;
     margin-bottom: 0;
     padding: 0;
     list-style: none; }
     nav ul:first-of-type {
       margin-left: -0.5rem; }
     nav ul:last-of-type {
       margin-right: -0.5rem; }
   nav li {
     display: inline-block;
     margin: 0;
     padding: 1rem 0.5rem; }
     nav li > *,
     nav li > input:not([type="checkbox"]):not([type="radio"]) {
       margin-bottom: 0; }
   nav a {
     display: block;
     margin: -1rem -0.5rem;
     padding: 1rem 0.5rem;
     border-radius: 0.25rem; }
     nav a:hover, nav a:active, nav a:focus {
       text-decoration: none; }
     nav a.contrast:not([role="button"]) {
       box-shadow: none; }
 
 aside nav,
 aside ul,
 aside li {
   display: block; }
 
 aside li {
   padding: 0.5rem; }
   aside li a {
     margin: -0.5rem;
     padding: 0.5rem; }
 
 nav#mainNav ul:nth-of-type(1) li:nth-of-type(1) {
   display: none; }
 
 @media (max-width: 576px) {
   nav#mainNav {
     display: table;
     width: 100%; }
     nav#mainNav ul {
       display: table-row;
       margin: 0 !important;
       width: 100%; }
       nav#mainNav ul li {
         display: none; }
   nav#mainNav ul:nth-of-type(1) {
     /* Burger Menu & Home Link */
     /* Burger Menu */
     /* Home Link */
     /* Other Links */ }
     nav#mainNav ul:nth-of-type(1) li:nth-of-type(1), nav#mainNav ul:nth-of-type(1) li:nth-of-type(2) {
       display: table-column;
       float: right;
       position: relative;
       width: 50%; }
     nav#mainNav ul:nth-of-type(1) li:nth-of-type(1) {
       text-align: right; }
       nav#mainNav ul:nth-of-type(1) li:nth-of-type(1) a:focus {
         background: transparent; }
       nav#mainNav ul:nth-of-type(1) li:nth-of-type(1) a i.icss-bars {
         margin-top: 0.1em; }
     nav#mainNav ul:nth-of-type(1) li:nth-of-type(2) {
       text-align: left; }
       nav#mainNav ul:nth-of-type(1) li:nth-of-type(2) a i.icss-home {
         margin-bottom: 0.3em; }
     nav#mainNav ul:nth-of-type(1) li:not(:nth-of-type(1)):not(:nth-of-type(2)) {
       padding-top: 0.5rem;
       padding-bottom: 0.5rem; }
   nav#mainNav ul:not(:nth-of-type(1)) li {
     padding-top: 0.5rem;
     padding-bottom: 0.5rem; }
   .responsive {
     overflow: hidden; }
     .responsive li {
       display: block !important; } }
 
 /**
  * Tooltip ([data-tooltip])
  */
 [data-tooltip] {
   position: relative; }
   [data-tooltip]:not(a):not(button):not(input) {
     border-bottom: 1px dotted;
     text-decoration: none;
     cursor: help; }
   [data-tooltip]::before, [data-tooltip]::after {
     display: block;
     z-index: 99;
     position: absolute;
     bottom: 100%;
     left: 50%;
     padding: .25rem .5rem;
     overflow: hidden;
     transform: translate(-50%, -0.25rem);
     border-radius: 0.25rem;
     background: var(--contrast);
     color: var(--contrast-inverse);
     font-size: .85rem;
     font-style: normal;
     font-weight: normal;
     text-decoration: none;
     text-overflow: ellipsis;
     white-space: nowrap;
     content: attr(data-tooltip);
     opacity: 0;
     pointer-events: none; }
   [data-tooltip]::after {
     padding: 0;
     transform: translate(-50%, 0rem);
     border-top: .3rem solid;
     border-right: .3rem solid transparent;
     border-left: .3rem solid transparent;
     border-radius: 0;
     background-color: transparent;
     color: var(--contrast);
     content: ''; }
   [data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after {
     opacity: 1; }
 